package com.wskj.library.dao;

import com.wskj.library.pojo.*;

import java.util.List;

/**
 * bookInfo dao接口类
 * 2018-03-22 T148
 */ 
public interface BookInfoDao{

	 /**
	  * 新增实体
	  * @param BookInfo 实体对象
	  * @return 影响的行数
	  */ 
	 int addBookInfo(BookInfo  bookInfo);
	 /**
	  * 根据主键删除实体
	  * @param id 主键
	  * @return 影响的行数
	  */ 
	 int deleteById(int id);
	 /**
	  * 修改更新实体
	  * @param BookInfo 实体对象
	  * @return 影响的行数 
	  */ 
	 int updateBookInfo(BookInfo bookInfo);
	 /**
	  * 根据主键获取实体
	  * @param id 主键
	  * @return 该主键对应的实体
	  */ 
	 BookInfo getBookInfoById(int id);
	 /**
	  * 查询所有的实体的集合
	  * @return 返回查询的结果集
	  */ 
	 List<BookInfo>  getAllBookInfos();
	 /**
	  * 
	  * @param bname
	  * @param author
	  * @param cid
	  * @param status
	  * @param index
	  * @param pageSize
	  * @return
	  */
	 List<BookInfo> getBookWithPage(String bname, String author, int cid, int status, int index, int pageSize);
	 /**
	  * 
	  * @param bname
	  * @param author
	  * @param cid
	  * @param status
	  * @return
	  */
	 long getCoutsByBname(String bname, String author, int cid, int status);
	
	 /**
	 * 批量删除图书的信息 
	 * @param id 需要删除图书的编号 
	 * @return
	 */
	int deleteAllBooks(String[] id);
	
	/** 批量新增书籍信息 
	 * @param books  书籍信息 
	 * @return
	 */
	int saveBooks(List<BookInfo> books);
}

